1. Field of the Invention
The described embodiments relate to measurement circuits. More specifically, the described embodiments relate to an inverting difference oscillator.
2. Related Art
In modern integrated circuits, circuit designers need to know the precise delay of circuit elements (i.e., logic gates, functional blocks, etc.) in order to effectively optimize a circuit design. Consequently, many techniques have been developed for determining the delay of circuit elements. One such technique involves using a difference oscillator to determine the delay of non-inverting circuit elements.
For example, FIG. 1 presents an exemplary difference oscillator 100 that can be used to measure the delay of a non-inverting circuit element (device under test (DUT) 102). As shown in FIG. 1, difference oscillator 100 includes a multiplexer (MUX) 104 and an inverter chain 106 in a configurable circuit path loop. By using MUX 104, difference oscillator 100 can be configured so that the circuit path loop follows either reference path 108, which excludes DUT 102, or test path 110, which includes DUT 102. Because device 102 is non-inverting and there are an odd number of inversions in inverter chain 106, difference oscillator 100 functions as a ring oscillator regardless of whether the circuit path follows test path 110 or reference path 108.
When measuring the delay of DUT 102, difference oscillator 100 can be operated first in a configuration that uses reference path 108, and then in a configuration that uses test path 110 to determine the oscillating frequency in each configuration. The oscillating frequencies can then be used to determine the difference in the period of the difference oscillator for the two configurations. Next, the delay of DUT 102 can be computed by dividing the determined difference in half.
To determine the delay across the non-inverting DUT 102, difference oscillator 100 must function as a ring oscillator regardless of the configuration of the circuit path loop. More specifically, difference oscillator 100 must function as a ring oscillator both when configured to use reference path 108, where DUT 102 is excluded, and when configured to use test path 110, where DUT 102 is included. Consequently, difference oscillator 100 is limited to applications where a delay is to be determined for a non-inverting DUT 102.